package com.rmy.publish.service;

import java.io.IOException;
import java.util.List;
import com.rmy.publish.domain.MipsProgramInfo;
import org.springframework.http.ResponseEntity;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 节目管理Service接口
 *
 * @author rmy
 * @date 2023-05-21
 */
public interface IMipsProgramInfoService
{
    /**
     * 查询节目管理
     *
     * @param programId 节目管理主键
     * @return 节目管理
     */
    public MipsProgramInfo selectMipsProgramInfoByProgramId(Long programId);

    /**
     * 根据编号查询
     *
     * @param programCode 节目编号
     * @return 节目管理
     */
    public MipsProgramInfo selectMipsProgramInfoByProgramCode(String programCode);

    /**
     * 查询节目管理列表
     *
     * @param mipsProgramInfo 节目管理
     * @return 节目管理集合
     */
    public List<MipsProgramInfo> selectMipsProgramInfoList(MipsProgramInfo mipsProgramInfo);

    /**
     * 新增节目管理
     *
     * @param mipsProgramInfo 节目管理
     * @return 结果
     */
    public int insertMipsProgramInfo(MipsProgramInfo mipsProgramInfo);

    /**
     * 修改节目管理
     *
     * @param mipsProgramInfo 节目管理
     * @return 结果
     */
    public int updateMipsProgramInfo(MipsProgramInfo mipsProgramInfo);

    /**
     * 批量删除节目管理
     *
     * @param programIds 需要删除的节目管理主键集合
     * @return 结果
     */
    public int deleteMipsProgramInfoByProgramIds(Long[] programIds);

    /**
     * 删除节目管理信息
     *
     * @param programId 节目管理主键
     * @return 结果
     */
    public int deleteMipsProgramInfoByProgramId(Long programId);

    /**
     * 插入节目数据
     * @param mipsProgramInfo
     * @return
     */
    public int insertProgram(MipsProgramInfo mipsProgramInfo);

    /**
     * 导出项目
     * @param request
     * @param response
     * @param programCode
     * @param showDataSet
     * @return
     */
    void exportProject(HttpServletRequest request, HttpServletResponse response, String programCode, Integer showDataSet) throws IOException;
}
